package com.rt.gptnext.common.constant;

import cn.hutool.core.text.StrPool;

/**
 * 通用常量
 *
 * @author gaoyiyang
 **/
public interface Constants extends StrPool {

    /**
     * 包扫描路径
     */
    String BASE_PACKAGE = "com.rt.gptnext";

    /**
     * mapper包扫描路径
     */
    String MAPPER_PACKAGE = BASE_PACKAGE + ".**.mapper";

    /**
     * 星号
     */
    String STAR = "*";

    /**
     * &#064;符号
     */
    String AT = "@";

    /**
     * 超级管理员ID
     */
    Long SUPER_ADMIN_ID = 1L;

    /**
     * 系统初始化标识
     */
    String SYSTEM_INITIALIZING = "system_initializing";

    /**
     * 默认租户ID
     */
    String DEFAULT_TENANT_ID = "zd";

    /**
     * 租户ID字段
     */
    String TENANT_ID = "tenant_id";

    /**
     * 租户ID参数
     */
    String TENANT_ID_PARAM = "tid";

    /**
     * 默认存储桶名称
     */
    String DEFAULT_OSS_BUCKET = "gpt";

    /**
     * 字符串常量：{@code "null"} <br>
     * 注意：{@code "null" != null}
     */
    String NULL = "null";

    /**
     * 字符串常量：空字符串 {@code ""}
     */
    String EMPTY = "";

    /**
     * 字符串常量：空格符 {@code " "}
     */
    String SPACE = " ";

    /**
     * doc
     */
    String DOC = "doc";

    /**
     * docx
     */
    String DOCX = "docx";

    /**
     * docx文档后缀
     */
    String DOCX_SUFFIX = ".docx";

    /**
     * pdf文档后缀
     */
    String PDF_SUFFIX = ".pdf";

    /**
     * PDF
     */
    String PDF = "pdf";

    /**
     * zip文件后缀
     */
    String ZIP_SUFFIX = ".zip";

    /**
     * 赋强公正
     */
    String STRONG_NOTARIZATION = "赋强公证";

    /**
     * 1字节
     */
    long B = 1L;

    /**
     * 1KB
     */
    long KB = B * 1024;

    /**
     * 1MB
     */
    long MB = KB * 1024;

    /**
     * 1GB
     */
    long GB = MB * 1024;

    /**
     * 1TB
     */
    long TB = GB * 1024;

    /**
     * 1PB
     */
    long PB = TB * 1024;

    /**
     * 中文顿号
     */
    String CHINESE_DUN = "、";

    /**
     * 中文逗号
     */
    String CHINESE_COMMA = "，";

    /**
     * 委托
     */
    String ENTRUST = "委托";

    /**
     * 声明
     */
    String DECLARE = "声明";

    /**
     * 赋强
     */
    String STRONG = "赋强";

    /**
     * 承诺
     */
    String PROMISE = "承诺";

}
